package com.kly.smartbi.test.day01;

import lombok.Data;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

/**
 * @author admin
 * @date 2025/4/1
 */
@Data
public class Demo1 {

    public static void main(String[] args) {
        System.out.println(handshake(50) - handshake(7));
    }


    /**
     * 判断是否是回文字符
     */
    public static boolean isString(String str) {
        int l = 0;
        int r = str.length() - 1;

        while( l < r) {
            if(str.charAt(l) == str.charAt(r)) {
                l++;
                r--;
            } else {
                if(str.charAt(r) == 'l' || str.charAt(r) == 'q' || str.charAt(r) == 'b') {
                    l++;
                    r--;
                } else{
                    return false;
                }
            }
        }

        return true;
    }


    /**
     * 递归求解 握手问题
     */
    public static int handshake(int n) {
        // 两个人握手一次
        if(n == 2) {
            return 1;
        }
        // 三个人握手 2 个人握手
        return n - 1 + handshake(n - 1);
    }

    /**
     * 分配id
     * 4
     * 1 2 2 3
     */
    public static void handleId() {
        Scanner scan = new Scanner(System.in);
        // 在此输入您的代码...
        // 找出为基数的id
        Map<Integer, Integer> map = new HashMap();
        int n = scan.nextInt();
        for (int i = 0; i < n; i++) {
            int id = scan.nextInt();
            map.put(id, map.getOrDefault(id, 0) + 1);
        }
        int count1 = 0;
        int count2 = 0;
        for (int i: map.values()) {
            if (i == 1) {
                count1++;
            }
            if (i > 2) {
                count2 += i - 2;
            }
        }

        int sum = 0;
        if(count1 >= count2) {
            sum = (count1 - count2) / 2 + count2;
        } else {
             sum = count2;
        }
        System.out.println(sum);
        scan.close();
    }


    /**
     * 奇怪的捐赠
     * 100 万元必须被正好分成若干份（不能剩余）。每份必须是
     * 7
     * 7 的若干次方元。
     * 在满足上述要求的情况下，分成的份数越多越好！
     */
    public static void strangeDonation() {
        int amount = 1000000;
        String money = Integer.toString(amount, 7);
        System.out.println("money = " + money);
        int count = 0;
        for (int i = 0; i < money.length(); i++) {
            count += money.charAt(i) - '0';
        }
        System.out.println("count = " + count);
    }

    /**
     * A 的ascall 65
     * 求 L 的ascall
     */
    public static void getAscall() {
        System.out.println("L" + (int) 'L');
    }
}
